Storing a Compressed Function with Constant Time Access
نویسندگان
چکیده
We consider the problem of representing, in a space-efficient way, a function f : S → Σ such that any function value can be computed in constant time on a RAM. Specifically, our aim is to achieve space usage close to the 0th order entropy of the sequence of function values. Our technique works for any set S of machine words, without storing S, which is crucial for applications. Our contribution consists of two new techniques, of independent interest, that we use in combination with an existing result of Dietzfelbinger and Pagh (ICALP 2008). First of all, we introduce a way to support more space efficient approximate membership queries (Bloom filter functionality) with arbitrary false positive rate. Second, we present a variation of Huffman coding using approximate membership, providing an alternative that improves the classical bounds of Gallager (IEEE Trans. Information Theory, 1978) in some cases. The end result is an entropy-compressed function supporting constant time random access to values associated with a given set S. This improves both space and time compared to a recent result by Talbot and Talbot (ANALCO 2008).
منابع مشابه
Dynamic Compressed Strings with Random Access
We consider the problem of storing a string S in dynamic compressed form, while permitting operations directly on the compressed representation of S: access a substring of S; replace, insert or delete a symbol in S; count how many occurrences of a given symbol appear in any given prefix of S (called rank operation) and locate the position of the ith occurrence of a symbol inside S (called selec...
متن کاملOn a New Method of Storing a Variable Size Array
There are several known ways of storing stack data structure – as a linked list (called list from now on in this paper), an array which size is dynamically increased on demand (called vector), or a doubleended queue (called deque). C++ Standard [1] suggests a deque as a standard container to use as a back-end for a stack's internal storage. C++ deque implementations should rely on memory paging...
متن کاملOn Compact Representations of All-Pairs-Shortest-Path-Distance Matrices
Let G be an unweighted and undirected graph of n nodes, and let D be the n × n matrix storing the All-Pairs-Shortest-Path distances in G. Since D contains integers in [n]∪+∞, its plain storage takes n log(n+1) bits. However, a simple counting argument shows that n/2 bits are necessary to store D. In this paper we investigate the question of finding a succinct representation of D that requires O...
متن کاملInteractive Transfer Function Modification For Volume Rendering Using Compressed Sample Runs
This paper describes a software-based method for interactive transfer function modification. Our approach exploits the fact that, in general, a user will rarely want to modify the viewpoint and the transfer functions at the same time. In that spirit, we optimize the latter by first fixing the viewpoint and then storing a compressed list of samples along each ray. Then, each time the transfer fu...
متن کاملCompressing Integers for Fast File Access
Fast access to files of integers is crucial for the efficient resolution of queries to databases. Integers are the basis of indexes used to resolve queries, for example, in large internet search systems and numeric data forms a large part of most databases. Disk access costs can be reduced by compression, if the cost of retrieving a compressed representation from disk and the CPU cost of decodi...
متن کامل